# RUN: llvm-mc -triple thumbv7-unknown-unknown -mcpu=cortex-a9 -disassemble < %s | FileCheck %s

0xf1 0xff 0x20 0x03
# CHECK: vabs.s8	d16, d16
0xf5 0xff 0x20 0x03
# CHECK: vabs.s16	d16, d16
0xf9 0xff 0x20 0x03
# CHECK: vabs.s32	d16, d16
0xf9 0xff 0x20 0x07
# CHECK: vabs.f32	d16, d16
0xf1 0xff 0x60 0x03
# CHECK: vabs.s8	q8, q8
0xf5 0xff 0x60 0x03
# CHECK: vabs.s16	q8, q8
0xf9 0xff 0x60 0x03
# CHECK: vabs.s32	q8, q8
0xf9 0xff 0x60 0x07
# CHECK: vabs.f32	q8, q8

0xf0 0xff 0x20 0x07
# CHECK: vqabs.s8	d16, d16
0xf4 0xff 0x20 0x07
# CHECK: vqabs.s16	d16, d16
0xf8 0xff 0x20 0x07
# CHECK: vqabs.s32	d16, d16
0xf0 0xff 0x60 0x07
# CHECK: vqabs.s8	q8, q8
0xf4 0xff 0x60 0x07
# CHECK: vqabs.s16	q8, q8
0xf8 0xff 0x60 0x07
# CHECK: vqabs.s32	q8, q8

0x40 0xef 0xa1 0x07
# CHECK: vabd.s8	d16, d16, d17
0x50 0xef 0xa1 0x07
# CHECK: vabd.s16	d16, d16, d17
0x60 0xef 0xa1 0x07
# CHECK: vabd.s32	d16, d16, d17
0x40 0xff 0xa1 0x07
# CHECK: vabd.u8	d16, d16, d17
0x50 0xff 0xa1 0x07
# CHECK: vabd.u16	d16, d16, d17
0x60 0xff 0xa1 0x07
# CHECK: vabd.u32	d16, d16, d17
0x60 0xff 0xa1 0x0d
# CHECK: vabd.f32	d16, d16, d17
0x40 0xef 0xe2 0x07
# CHECK: vabd.s8	q8, q8, q9
0x50 0xef 0xe2 0x07
# CHECK: vabd.s16	q8, q8, q9
0x60 0xef 0xe2 0x07
# CHECK: vabd.s32	q8, q8, q9
0x40 0xff 0xe2 0x07
# CHECK: vabd.u8	q8, q8, q9
0x50 0xff 0xe2 0x07
# CHECK: vabd.u16	q8, q8, q9
0x60 0xff 0xe2 0x07
# CHECK: vabd.u32	q8, q8, q9
0x60 0xff 0xe2 0x0d
# CHECK: vabd.f32	q8, q8, q9

0xc0 0xef 0xa1 0x07
# CHECK: vabdl.s8	q8, d16, d17
0xd0 0xef 0xa1 0x07
# CHECK: vabdl.s16	q8, d16, d17
0xe0 0xef 0xa1 0x07
# CHECK: vabdl.s32	q8, d16, d17
0xc0 0xff 0xa1 0x07
# CHECK: vabdl.u8	q8, d16, d17
0xd0 0xff 0xa1 0x07
# CHECK: vabdl.u16	q8, d16, d17
0xe0 0xff 0xa1 0x07
# CHECK: vabdl.u32	q8, d16, d17

0x42 0xef 0xb1 0x07
# CHECK: vaba.s8	d16, d18, d17
0x52 0xef 0xb1 0x07
# CHECK: vaba.s16	d16, d18, d17
0x62 0xef 0xb1 0x07
# CHECK: vaba.s32	d16, d18, d17
0x42 0xff 0xb1 0x07
# CHECK: vaba.u8	d16, d18, d17
0x52 0xff 0xb1 0x07
# CHECK: vaba.u16	d16, d18, d17
0x62 0xff 0xb1 0x07
# CHECK: vaba.u32	d16, d18, d17
0x40 0xef 0xf4 0x27
# CHECK: vaba.s8	q9, q8, q10
0x50 0xef 0xf4 0x27
# CHECK: vaba.s16	q9, q8, q10
0x60 0xef 0xf4 0x27
# CHECK: vaba.s32	q9, q8, q10
0x40 0xff 0xf4 0x27
# CHECK: vaba.u8	q9, q8, q10
0x50 0xff 0xf4 0x27
# CHECK: vaba.u16	q9, q8, q10
0x60 0xff 0xf4 0x27
# CHECK: vaba.u32	q9, q8, q10

0xc3 0xef 0xa2 0x05
# CHECK: vabal.s8	q8, d19, d18
0xd3 0xef 0xa2 0x05
# CHECK: vabal.s16	q8, d19, d18
0xe3 0xef 0xa2 0x05
# CHECK: vabal.s32	q8, d19, d18
0xc3 0xff 0xa2 0x05
# CHECK: vabal.u8	q8, d19, d18
0xd3 0xff 0xa2 0x05
# CHECK: vabal.u16	q8, d19, d18
0xe3 0xff 0xa2 0x05
# CHECK: vabal.u32	q8, d19, d18

0x41 0xef 0xa0 0x08
# CHECK: vadd.i8	d16, d17, d16
0x51 0xef 0xa0 0x08
# CHECK: vadd.i16	d16, d17, d16
0x71 0xef 0xa0 0x08
# CHECK: vadd.i64	d16, d17, d16
0x61 0xef 0xa0 0x08
# CHECK: vadd.i32	d16, d17, d16
0x40 0xef 0xa1 0x0d
# CHECK: vadd.f32	d16, d16, d17
0x40 0xef 0xe2 0x0d
# CHECK: vadd.f32	q8, q8, q9

0xc1 0xef 0xa0 0x00
# CHECK: vaddl.s8	q8, d17, d16
0xd1 0xef 0xa0 0x00
# CHECK: vaddl.s16	q8, d17, d16
0xe1 0xef 0xa0 0x00
# CHECK: vaddl.s32	q8, d17, d16
0xc1 0xff 0xa0 0x00
# CHECK: vaddl.u8	q8, d17, d16
0xd1 0xff 0xa0 0x00
# CHECK: vaddl.u16	q8, d17, d16
0xe1 0xff 0xa0 0x00
# CHECK: vaddl.u32	q8, d17, d16

0xc0 0xef 0xa2 0x01
# CHECK: vaddw.s8	q8, q8, d18
0xd0 0xef 0xa2 0x01
# CHECK: vaddw.s16	q8, q8, d18
0xe0 0xef 0xa2 0x01
# CHECK: vaddw.s32	q8, q8, d18
0xc0 0xff 0xa2 0x01
# CHECK: vaddw.u8	q8, q8, d18
0xd0 0xff 0xa2 0x01
# CHECK: vaddw.u16	q8, q8, d18
0xe0 0xff 0xa2 0x01
# CHECK: vaddw.u32	q8, q8, d18

0x40 0xef 0xa1 0x00
# CHECK: vhadd.s8	d16, d16, d17
0x50 0xef 0xa1 0x00
# CHECK: vhadd.s16	d16, d16, d17
0x60 0xef 0xa1 0x00
# CHECK: vhadd.s32	d16, d16, d17
0x40 0xff 0xa1 0x00
# CHECK: vhadd.u8	d16, d16, d17
0x50 0xff 0xa1 0x00
# CHECK: vhadd.u16	d16, d16, d17
0x60 0xff 0xa1 0x00
# CHECK: vhadd.u32	d16, d16, d17
0x40 0xef 0xe2 0x00
# CHECK: vhadd.s8	q8, q8, q9
0x50 0xef 0xe2 0x00
# CHECK: vhadd.s16	q8, q8, q9
0x60 0xef 0xe2 0x00
# CHECK: vhadd.s32	q8, q8, q9
0x40 0xff 0xe2 0x00
# CHECK: vhadd.u8	q8, q8, q9
0x50 0xff 0xe2 0x00
# CHECK: vhadd.u16	q8, q8, q9
0x60 0xff 0xe2 0x00
# CHECK: vhadd.u32	q8, q8, q9

0x40 0xef 0xa1 0x01
# CHECK: vrhadd.s8	d16, d16, d17
0x50 0xef 0xa1 0x01
# CHECK: vrhadd.s16	d16, d16, d17
0x60 0xef 0xa1 0x01
# CHECK: vrhadd.s32	d16, d16, d17
0x40 0xff 0xa1 0x01
# CHECK: vrhadd.u8	d16, d16, d17
0x50 0xff 0xa1 0x01
# CHECK: vrhadd.u16	d16, d16, d17
0x60 0xff 0xa1 0x01
# CHECK: vrhadd.u32	d16, d16, d17
0x40 0xef 0xe2 0x01
# CHECK: vrhadd.s8	q8, q8, q9
0x50 0xef 0xe2 0x01
# CHECK: vrhadd.s16	q8, q8, q9
0x60 0xef 0xe2 0x01
# CHECK: vrhadd.s32	q8, q8, q9
0x40 0xff 0xe2 0x01
# CHECK: vrhadd.u8	q8, q8, q9
0x50 0xff 0xe2 0x01
# CHECK: vrhadd.u16	q8, q8, q9
0x60 0xff 0xe2 0x01
# CHECK: vrhadd.u32	q8, q8, q9

0x40 0xef 0xb1 0x00
# CHECK: vqadd.s8	d16, d16, d17
0x50 0xef 0xb1 0x00
# CHECK: vqadd.s16	d16, d16, d17
0x60 0xef 0xb1 0x00
# CHECK: vqadd.s32	d16, d16, d17
0x70 0xef 0xb1 0x00
# CHECK: vqadd.s64	d16, d16, d17
0x40 0xff 0xb1 0x00
# CHECK: vqadd.u8	d16, d16, d17
0x50 0xff 0xb1 0x00
# CHECK: vqadd.u16	d16, d16, d17
0x60 0xff 0xb1 0x00
# CHECK: vqadd.u32	d16, d16, d17
0x70 0xff 0xb1 0x00
# CHECK: vqadd.u64	d16, d16, d17
0x40 0xef 0xf2 0x00
# CHECK: vqadd.s8	q8, q8, q9
0x50 0xef 0xf2 0x00
# CHECK: vqadd.s16	q8, q8, q9
0x60 0xef 0xf2 0x00
# CHECK: vqadd.s32	q8, q8, q9
0x70 0xef 0xf2 0x00
# CHECK: vqadd.s64	q8, q8, q9
0x40 0xff 0xf2 0x00
# CHECK: vqadd.u8	q8, q8, q9
0x50 0xff 0xf2 0x00
# CHECK: vqadd.u16	q8, q8, q9
0x60 0xff 0xf2 0x00
# CHECK: vqadd.u32	q8, q8, q9
0x70 0xff 0xf2 0x00
# CHECK: vqadd.u64	q8, q8, q9

0xc0 0xef 0xa2 0x04
# CHECK: vaddhn.i16	d16, q8, q9
0xd0 0xef 0xa2 0x04
# CHECK: vaddhn.i32	d16, q8, q9
0xe0 0xef 0xa2 0x04
# CHECK: vaddhn.i64	d16, q8, q9
0xc0 0xff 0xa2 0x04
# CHECK: vraddhn.i16	d16, q8, q9
0xd0 0xff 0xa2 0x04
# CHECK: vraddhn.i32	d16, q8, q9
0xe0 0xff 0xa2 0x04
# CHECK: vraddhn.i64	d16, q8, q9

0xf0 0xff 0x20 0x05
# CHECK: vcnt.8	d16, d16
0xf0 0xff 0x60 0x05
# CHECK: vcnt.8	q8, q8
0xf0 0xff 0xa0 0x04
# CHECK: vclz.i8	d16, d16
0xf4 0xff 0xa0 0x04
# CHECK: vclz.i16	d16, d16
0xf8 0xff 0xa0 0x04
# CHECK: vclz.i32	d16, d16
0xf0 0xff 0xe0 0x04
# CHECK: vclz.i8	q8, q8
0xf4 0xff 0xe0 0x04
# CHECK: vclz.i16	q8, q8
0xf8 0xff 0xe0 0x04
# CHECK: vclz.i32	q8, q8
0xf0 0xff 0x20 0x04
# CHECK: vcls.s8	d16, d16
0xf4 0xff 0x20 0x04
# CHECK: vcls.s16	d16, d16
0xf8 0xff 0x20 0x04
# CHECK: vcls.s32	d16, d16
0xf0 0xff 0x60 0x04
# CHECK: vcls.s8	q8, q8
0xf4 0xff 0x60 0x04
# CHECK: vcls.s16	q8, q8
0xf8 0xff 0x60 0x04
# CHECK: vcls.s32	q8, q8


0x41 0xef 0xb0 0x01
# CHECK: vand	d16, d17, d16
0x40 0xef 0xf2 0x01
# CHECK: vand	q8, q8, q9

0x41 0xff 0xb0 0x01
# CHECK: veor	d16, d17, d16
0x40 0xff 0xf2 0x01
# CHECK: veor	q8, q8, q9

0x61 0xef 0xb0 0x01
# CHECK: vorr	d16, d17, d16
0x60 0xef 0xf2 0x01
# CHECK: vorr	q8, q8, q9
0xc0 0xef 0x11 0x07
# CHECK: vorr.i32	d16, #0x1000000
0xc0 0xef 0x51 0x07
# CHECK: vorr.i32	q8, #0x1000000
0xc0 0xef 0x50 0x01
# CHECK: vorr.i32	q8, #0x0

0x51 0xef 0xb0 0x01
# CHECK: vbic	d16, d17, d16
0x50 0xef 0xf2 0x01
# CHECK: vbic	q8, q8, q9
0xc7 0xff 0x3f 0x07
# CHECK: vbic.i32	d16, #0xff000000
0xc7 0xff 0x7f 0x07
# CHECK: vbic.i32	q8, #0xff000000

0x71 0xef 0xb0 0x01
# CHECK: vorn	d16, d17, d16
0x70 0xef 0xf2 0x01
# CHECK: vorn	q8, q8, q9

0xf0 0xff 0xa0 0x05
# CHECK: vmvn	d16, d16
0xf0 0xff 0xe0 0x05
# CHECK: vmvn	q8, q8

0x51 0xff 0xb0 0x21
# CHECK: vbsl	d18, d17, d16
0x54 0xff 0xf2 0x01
# CHECK: vbsl	q8, q10, q9

0x61 0xff 0xb0 0x21
# CHECK: vbit	d18, d17, d16
0x64 0xff 0xf2 0x01
# CHECK: vbit	q8, q10, q9

0x71 0xff 0xb0 0x21
# CHECK: vbif	d18, d17, d16
0x74 0xff 0xf2 0x01
# CHECK: vbif	q8, q10, q9

0xfb 0xff 0x20 0x07
# CHECK: vcvt.s32.f32	d16, d16
0xfb 0xff 0xa0 0x07
# CHECK: vcvt.u32.f32	d16, d16
0xfb 0xff 0x20 0x06
# CHECK: vcvt.f32.s32	d16, d16
0xfb 0xff 0xa0 0x06
# CHECK: vcvt.f32.u32	d16, d16
0xfb 0xff 0x60 0x07
# CHECK: vcvt.s32.f32	q8, q8
0xfb 0xff 0xe0 0x07
# CHECK: vcvt.u32.f32	q8, q8
0xfb 0xff 0x60 0x06
# CHECK: vcvt.f32.s32	q8, q8
0xfb 0xff 0xe0 0x06
# CHECK: vcvt.f32.u32	q8, q8
0xff 0xef 0x30 0x0f
# CHECK: vcvt.s32.f32	d16, d16, #1
0xff 0xff 0x30 0x0f
# CHECK: vcvt.u32.f32	d16, d16, #1
0xff 0xef 0x30 0x0e
# CHECK: vcvt.f32.s32	d16, d16, #1
0xff 0xff 0x30 0x0e
# CHECK: vcvt.f32.u32	d16, d16, #1
0xff 0xef 0x70 0x0f
# CHECK: vcvt.s32.f32	q8, q8, #1
0xff 0xff 0x70 0x0f
# CHECK: vcvt.u32.f32	q8, q8, #1
0xff 0xef 0x70 0x0e
# CHECK: vcvt.f32.s32	q8, q8, #1
0xff 0xff 0x70 0x0e
# CHECK: vcvt.f32.u32	q8, q8, #1
0xfb 0xff 0x20 0x07
# CHECK: vcvt.s32.f32	d16, d16
0xfb 0xff 0xa0 0x07
# CHECK: vcvt.u32.f32	d16, d16
0xfb 0xff 0x20 0x06
# CHECK: vcvt.f32.s32	d16, d16
0xfb 0xff 0xa0 0x06
# CHECK: vcvt.f32.u32	d16, d16
0xfb 0xff 0x60 0x07
# CHECK: vcvt.s32.f32	q8, q8
0xfb 0xff 0xe0 0x07
# CHECK: vcvt.u32.f32	q8, q8
0xfb 0xff 0x60 0x06
# CHECK: vcvt.f32.s32	q8, q8
0xfb 0xff 0xe0 0x06
# CHECK: vcvt.f32.u32	q8, q8
0xff 0xef 0x30 0x0f
# CHECK: vcvt.s32.f32	d16, d16, #1
0xff 0xff 0x30 0x0f
# CHECK: vcvt.u32.f32	d16, d16, #1
0xff 0xef 0x30 0x0e
# CHECK: vcvt.f32.s32	d16, d16, #1
0xff 0xff 0x30 0x0e
# CHECK: vcvt.f32.u32	d16, d16, #1
0xff 0xef 0x70 0x0f
# CHECK: vcvt.s32.f32	q8, q8, #1
0xff 0xff 0x70 0x0f
# CHECK: vcvt.u32.f32	q8, q8, #1
0xff 0xef 0x70 0x0e
# CHECK: vcvt.f32.s32	q8, q8, #1
0xff 0xff 0x70 0x0e
# CHECK: vcvt.f32.u32	q8, q8, #1
0xf6 0xff 0x20 0x07
# CHECK: vcvt.f32.f16	q8, d16
0xf6 0xff 0x20 0x06
# CHECK: vcvt.f16.f32	d16, q8

0xc0 0xee 0x90 0x0b
# CHECK: vdup.8	d16, r0
0x80 0xee 0xb0 0x0b
# CHECK: vdup.16	d16, r0
0x80 0xee 0x90 0x0b
# CHECK: vdup.32	d16, r0
0xe0 0xee 0x90 0x0b
# CHECK: vdup.8	q8, r0
0xa0 0xee 0xb0 0x0b
# CHECK: vdup.16	q8, r0
0xa0 0xee 0x90 0x0b
# CHECK: vdup.32	q8, r0
0xf3 0xff 0x20 0x0c
# CHECK: vdup.8	d16, d16[1]
0xf6 0xff 0x20 0x0c
# CHECK: vdup.16	d16, d16[1]
0xfc 0xff 0x20 0x0c
# CHECK: vdup.32	d16, d16[1]
0xf3 0xff 0x60 0x0c
# CHECK: vdup.8	q8, d16[1]
0xf6 0xff 0x60 0x0c
# CHECK: vdup.16	q8, d16[1]
0xfc 0xff 0x60 0x0c
# CHECK: vdup.32	q8, d16[1]

0x40 0xef 0xb1 0x06
# CHECK: vmin.s8	d16, d16, d17
0x50 0xef 0xb1 0x06
# CHECK: vmin.s16	d16, d16, d17
0x60 0xef 0xb1 0x06
# CHECK: vmin.s32	d16, d16, d17
0x40 0xff 0xb1 0x06
# CHECK: vmin.u8	d16, d16, d17
0x50 0xff 0xb1 0x06
# CHECK: vmin.u16	d16, d16, d17
0x60 0xff 0xb1 0x06
# CHECK: vmin.u32	d16, d16, d17
0x60 0xef 0xa1 0x0f
# CHECK: vmin.f32	d16, d16, d17
0x40 0xef 0xf2 0x06
# CHECK: vmin.s8	q8, q8, q9
0x50 0xef 0xf2 0x06
# CHECK: vmin.s16	q8, q8, q9
0x60 0xef 0xf2 0x06
# CHECK: vmin.s32	q8, q8, q9
0x40 0xff 0xf2 0x06
# CHECK: vmin.u8	q8, q8, q9
0x50 0xff 0xf2 0x06
# CHECK: vmin.u16	q8, q8, q9
0x60 0xff 0xf2 0x06
# CHECK: vmin.u32	q8, q8, q9
0x60 0xef 0xe2 0x0f
# CHECK: vmin.f32	q8, q8, q9
0x40 0xef 0xa1 0x06
# CHECK: vmax.s8	d16, d16, d17
0x50 0xef 0xa1 0x06
# CHECK: vmax.s16	d16, d16, d17
0x60 0xef 0xa1 0x06
# CHECK: vmax.s32	d16, d16, d17
0x40 0xff 0xa1 0x06
# CHECK: vmax.u8	d16, d16, d17
0x50 0xff 0xa1 0x06
# CHECK: vmax.u16	d16, d16, d17
0x60 0xff 0xa1 0x06
# CHECK: vmax.u32	d16, d16, d17
0x40 0xef 0xa1 0x0f
# CHECK: vmax.f32	d16, d16, d17
0x40 0xef 0xe2 0x06
# CHECK: vmax.s8	q8, q8, q9
0x50 0xef 0xe2 0x06
# CHECK: vmax.s16	q8, q8, q9
0x60 0xef 0xe2 0x06
# CHECK: vmax.s32	q8, q8, q9
0x40 0xff 0xe2 0x06
# CHECK: vmax.u8	q8, q8, q9
0x50 0xff 0xe2 0x06
# CHECK: vmax.u16	q8, q8, q9
0x60 0xff 0xe2 0x06
# CHECK: vmax.u32	q8, q8, q9
0x40 0xef 0xe2 0x0f
# CHECK: vmax.f32	q8, q8, q9

0xc0 0xef 0x18 0x0e
# CHECK: vmov.i8	d16, #0x8
0xc1 0xef 0x10 0x08
# CHECK: vmov.i16	d16, #0x10
0xc1 0xef 0x10 0x0a
# CHECK: vmov.i16	d16, #0x1000
0xc2 0xef 0x10 0x00
# CHECK: vmov.i32	d16, #0x20
0xc2 0xef 0x10 0x02
# CHECK: vmov.i32	d16, #0x2000
0xc2 0xef 0x10 0x04
# CHECK: vmov.i32	d16, #0x200000
0xc2 0xef 0x10 0x06
# CHECK: vmov.i32	d16, #0x20000000
0xc2 0xef 0x10 0x0c
# CHECK: vmov.i32	d16, #0x20ff
0xc2 0xef 0x10 0x0d
# CHECK: vmov.i32	d16, #0x20ffff
0xc1 0xff 0x33 0x0e
# CHECK: vmov.i64	d16, #0xff0000ff0000ffff
0xc0 0xef 0x58 0x0e
# CHECK: vmov.i8	q8, #0x8
0xc1 0xef 0x50 0x08
# CHECK: vmov.i16	q8, #0x10
0xc1 0xef 0x50 0x0a
# CHECK: vmov.i16	q8, #0x1000
0xc2 0xef 0x50 0x00
# CHECK: vmov.i32	q8, #0x20
0xc2 0xef 0x50 0x02
# CHECK: vmov.i32	q8, #0x2000
0xc2 0xef 0x50 0x04
# CHECK: vmov.i32	q8, #0x200000
0xc2 0xef 0x50 0x06
# CHECK: vmov.i32	q8, #0x20000000
0xc2 0xef 0x50 0x0c
# CHECK: vmov.i32	q8, #0x20ff
0xc2 0xef 0x50 0x0d
# CHECK: vmov.i32	q8, #0x20ffff
0xc1 0xff 0x73 0x0e
# CHECK: vmov.i64	q8, #0xff0000ff0000ffff
0xc1 0xef 0x30 0x08
# CHECK: vmvn.i16	d16, #0x10
0xc1 0xef 0x30 0x0a
# CHECK: vmvn.i16	d16, #0x1000
0xc2 0xef 0x30 0x00
# CHECK: vmvn.i32	d16, #0x20
0xc2 0xef 0x30 0x02
# CHECK: vmvn.i32	d16, #0x2000
0xc2 0xef 0x30 0x04
# CHECK: vmvn.i32	d16, #0x200000
0xc2 0xef 0x30 0x06
# CHECK: vmvn.i32	d16, #0x20000000
0xc2 0xef 0x30 0x0c
# CHECK: vmvn.i32	d16, #0x20ff
0xc2 0xef 0x30 0x0d
# CHECK: vmvn.i32	d16, #0x20ffff
0xc8 0xef 0x30 0x0a
# CHECK: vmovl.s8	q8, d16
0xd0 0xef 0x30 0x0a
# CHECK: vmovl.s16	q8, d16
0xe0 0xef 0x30 0x0a
# CHECK: vmovl.s32	q8, d16
0xc8 0xff 0x30 0x0a
# CHECK: vmovl.u8	q8, d16
0xd0 0xff 0x30 0x0a
# CHECK: vmovl.u16	q8, d16
0xe0 0xff 0x30 0x0a
# CHECK: vmovl.u32	q8, d16
0xf2 0xff 0x20 0x02
# CHECK: vmovn.i16	d16, q8
0xf6 0xff 0x20 0x02
# CHECK: vmovn.i32	d16, q8
0xfa 0xff 0x20 0x02
# CHECK: vmovn.i64	d16, q8
0xf2 0xff 0xa0 0x02
# CHECK: vqmovn.s16	d16, q8
0xf6 0xff 0xa0 0x02
# CHECK: vqmovn.s32	d16, q8
0xfa 0xff 0xa0 0x02
# CHECK: vqmovn.s64	d16, q8
0xf2 0xff 0xe0 0x02
# CHECK: vqmovn.u16	d16, q8
0xf6 0xff 0xe0 0x02
# CHECK: vqmovn.u32	d16, q8
0xfa 0xff 0xe0 0x02
# CHECK: vqmovn.u64	d16, q8
0xf2 0xff 0x60 0x02
# CHECK: vqmovun.s16	d16, q8
0xf6 0xff 0x60 0x02
# CHECK: vqmovun.s32	d16, q8
0xfa 0xff 0x60 0x02
# CHECK: vqmovun.s64	d16, q8
0x50 0xee 0xb0 0x0b
# CHECK: vmov.s8	r0, d16[1]
0x10 0xee 0xf0 0x0b
# CHECK: vmov.s16	r0, d16[1]
0xd0 0xee 0xb0 0x0b
# CHECK: vmov.u8	r0, d16[1]
0x90 0xee 0xf0 0x0b
# CHECK: vmov.u16	r0, d16[1]
0x30 0xee 0x90 0x0b
# CHECK: vmov.32	r0, d16[1]
0x40 0xee 0xb0 0x1b
# CHECK: vmov.8	d16[1], r1
0x00 0xee 0xf0 0x1b
# CHECK: vmov.16	d16[1], r1
0x20 0xee 0x90 0x1b
# CHECK: vmov.32	d16[1], r1
0x42 0xee 0xb0 0x1b
# CHECK: vmov.8	d18[1], r1
0x02 0xee 0xf0 0x1b
# CHECK: vmov.16	d18[1], r1
0x22 0xee 0x90 0x1b
# CHECK: vmov.32	d18[1], r1

0x42 0xef 0xa1 0x09
# CHECK: vmla.i8	d16, d18, d17
0x52 0xef 0xa1 0x09
# CHECK: vmla.i16	d16, d18, d17
0x62 0xef 0xa1 0x09
# CHECK: vmla.i32	d16, d18, d17
0x42 0xef 0xb1 0x0d
# CHECK: vmla.f32	d16, d18, d17
0x40 0xef 0xe4 0x29
# CHECK: vmla.i8	q9, q8, q10
0x50 0xef 0xe4 0x29
# CHECK: vmla.i16	q9, q8, q10
0x60 0xef 0xe4 0x29
# CHECK: vmla.i32	q9, q8, q10
0x40 0xef 0xf4 0x2d
# CHECK: vmla.f32	q9, q8, q10
0xc3 0xef 0xa2 0x08
# CHECK: vmlal.s8	q8, d19, d18
0xd3 0xef 0xa2 0x08
# CHECK: vmlal.s16	q8, d19, d18
0xe3 0xef 0xa2 0x08
# CHECK: vmlal.s32	q8, d19, d18
0xc3 0xff 0xa2 0x08
# CHECK: vmlal.u8	q8, d19, d18
0xd3 0xff 0xa2 0x08
# CHECK: vmlal.u16	q8, d19, d18
0xe3 0xff 0xa2 0x08
# CHECK: vmlal.u32	q8, d19, d18
0xd3 0xef 0xa2 0x09
# CHECK: vqdmlal.s16	q8, d19, d18
0xe3 0xef 0xa2 0x09
# CHECK: vqdmlal.s32	q8, d19, d18
0x42 0xff 0xa1 0x09
# CHECK: vmls.i8	d16, d18, d17
0x52 0xff 0xa1 0x09
# CHECK: vmls.i16	d16, d18, d17
0x62 0xff 0xa1 0x09
# CHECK: vmls.i32	d16, d18, d17
0x62 0xef 0xb1 0x0d
# CHECK: vmls.f32	d16, d18, d17
0x40 0xff 0xe4 0x29
# CHECK: vmls.i8	q9, q8, q10
0x50 0xff 0xe4 0x29
# CHECK: vmls.i16	q9, q8, q10
0x60 0xff 0xe4 0x29
# CHECK: vmls.i32	q9, q8, q10
0x60 0xef 0xf4 0x2d
# CHECK: vmls.f32	q9, q8, q10
0xc3 0xef 0xa2 0x0a
# CHECK: vmlsl.s8	q8, d19, d18
0xd3 0xef 0xa2 0x0a
# CHECK: vmlsl.s16	q8, d19, d18
0xe3 0xef 0xa2 0x0a
# CHECK: vmlsl.s32	q8, d19, d18
0xc3 0xff 0xa2 0x0a
# CHECK: vmlsl.u8	q8, d19, d18
0xd3 0xff 0xa2 0x0a
# CHECK: vmlsl.u16	q8, d19, d18
0xe3 0xff 0xa2 0x0a
# CHECK: vmlsl.u32	q8, d19, d18
0xd3 0xef 0xa2 0x0b
# CHECK: vqdmlsl.s16	q8, d19, d18
0xe3 0xef 0xa2 0x0b
# CHECK: vqdmlsl.s32	q8, d19, d18

0x40 0xef 0xb1 0x09
# CHECK: vmul.i8	d16, d16, d17
0x50 0xef 0xb1 0x09
# CHECK: vmul.i16	d16, d16, d17
0x60 0xef 0xb1 0x09
# CHECK: vmul.i32	d16, d16, d17
0x40 0xff 0xb1 0x0d
# CHECK: vmul.f32	d16, d16, d17
0x40 0xef 0xf2 0x09
# CHECK: vmul.i8	q8, q8, q9
0x50 0xef 0xf2 0x09
# CHECK: vmul.i16	q8, q8, q9
0x60 0xef 0xf2 0x09
# CHECK: vmul.i32	q8, q8, q9
0x40 0xff 0xf2 0x0d
# CHECK: vmul.f32	q8, q8, q9
0x40 0xff 0xb1 0x09
# CHECK: vmul.p8	d16, d16, d17
0x40 0xff 0xf2 0x09
# CHECK: vmul.p8	q8, q8, q9
0x50 0xef 0xa1 0x0b
# CHECK: vqdmulh.s16	d16, d16, d17
0x60 0xef 0xa1 0x0b
# CHECK: vqdmulh.s32	d16, d16, d17
0x50 0xef 0xe2 0x0b
# CHECK: vqdmulh.s16	q8, q8, q9
0x60 0xef 0xe2 0x0b
# CHECK: vqdmulh.s32	q8, q8, q9
0x50 0xff 0xa1 0x0b
# CHECK: vqrdmulh.s16	d16, d16, d17
0x60 0xff 0xa1 0x0b
# CHECK: vqrdmulh.s32	d16, d16, d17
0x50 0xff 0xe2 0x0b
# CHECK: vqrdmulh.s16	q8, q8, q9
0x60 0xff 0xe2 0x0b
# CHECK: vqrdmulh.s32	q8, q8, q9
0xc0 0xef 0xa1 0x0c
# CHECK: vmull.s8	q8, d16, d17
0xd0 0xef 0xa1 0x0c
# CHECK: vmull.s16	q8, d16, d17
0xe0 0xef 0xa1 0x0c
# CHECK: vmull.s32	q8, d16, d17
0xc0 0xff 0xa1 0x0c
# CHECK: vmull.u8	q8, d16, d17
0xd0 0xff 0xa1 0x0c
# CHECK: vmull.u16	q8, d16, d17
0xe0 0xff 0xa1 0x0c
# CHECK: vmull.u32	q8, d16, d17
0xc0 0xef 0xa1 0x0e
# CHECK: vmull.p8	q8, d16, d17
0xd0 0xef 0xa1 0x0d
# CHECK: vqdmull.s16	q8, d16, d17
0xe0 0xef 0xa1 0x0d
# CHECK: vqdmull.s32	q8, d16, d17
0xf1 0xff 0xa0 0x03
# CHECK: vneg.s8	d16, d16
0xf5 0xff 0xa0 0x03
# CHECK: vneg.s16	d16, d16
0xf9 0xff 0xa0 0x03
# CHECK: vneg.s32	d16, d16
0xf9 0xff 0xa0 0x07
# CHECK: vneg.f32	d16, d16
0xf1 0xff 0xe0 0x03
# CHECK: vneg.s8	q8, q8
0xf5 0xff 0xe0 0x03
# CHECK: vneg.s16	q8, q8
0xf9 0xff 0xe0 0x03
# CHECK: vneg.s32	q8, q8
0xf9 0xff 0xe0 0x07
# CHECK: vneg.f32	q8, q8
0xf0 0xff 0xa0 0x07
# CHECK: vqneg.s8	d16, d16
0xf4 0xff 0xa0 0x07
# CHECK: vqneg.s16	d16, d16
0xf8 0xff 0xa0 0x07
# CHECK: vqneg.s32	d16, d16
0xf0 0xff 0xe0 0x07
# CHECK: vqneg.s8	q8, q8
0xf4 0xff 0xe0 0x07
# CHECK: vqneg.s16	q8, q8
0xf8 0xff 0xe0 0x07
# CHECK: vqneg.s32	q8, q8

0x41 0xef 0xb0 0x0b
# CHECK: vpadd.i8	d16, d17, d16
0x51 0xef 0xb0 0x0b
# CHECK: vpadd.i16	d16, d17, d16
0x61 0xef 0xb0 0x0b
# CHECK: vpadd.i32	d16, d17, d16
0x40 0xff 0xa1 0x0d
# CHECK: vpadd.f32	d16, d16, d17
0xf0 0xff 0x20 0x02
# CHECK: vpaddl.s8	d16, d16
0xf4 0xff 0x20 0x02
# CHECK: vpaddl.s16	d16, d16
0xf8 0xff 0x20 0x02
# CHECK: vpaddl.s32	d16, d16
0xf0 0xff 0xa0 0x02
# CHECK: vpaddl.u8	d16, d16
0xf4 0xff 0xa0 0x02
# CHECK: vpaddl.u16	d16, d16
0xf8 0xff 0xa0 0x02
# CHECK: vpaddl.u32	d16, d16
0xf0 0xff 0x60 0x02
# CHECK: vpaddl.s8	q8, q8
0xf4 0xff 0x60 0x02
# CHECK: vpaddl.s16	q8, q8
0xf8 0xff 0x60 0x02
# CHECK: vpaddl.s32	q8, q8
0xf0 0xff 0xe0 0x02
# CHECK: vpaddl.u8	q8, q8
0xf4 0xff 0xe0 0x02
# CHECK: vpaddl.u16	q8, q8
0xf8 0xff 0xe0 0x02
# CHECK: vpaddl.u32	q8, q8
0xf0 0xff 0x21 0x06
# CHECK: vpadal.s8	d16, d17
0xf4 0xff 0x21 0x06
# CHECK: vpadal.s16	d16, d17
0xf8 0xff 0x21 0x06
# CHECK: vpadal.s32	d16, d17
0xf0 0xff 0xa1 0x06
# CHECK: vpadal.u8	d16, d17
0xf4 0xff 0xa1 0x06
# CHECK: vpadal.u16	d16, d17
0xf8 0xff 0xa1 0x06
# CHECK: vpadal.u32	d16, d17
0xf0 0xff 0x60 0x26
# CHECK: vpadal.s8	q9, q8
0xf4 0xff 0x60 0x26
# CHECK: vpadal.s16	q9, q8
0xf8 0xff 0x60 0x26
# CHECK: vpadal.s32	q9, q8
0xf0 0xff 0xe0 0x26
# CHECK: vpadal.u8	q9, q8
0xf4 0xff 0xe0 0x26
# CHECK: vpadal.u16	q9, q8
0xf8 0xff 0xe0 0x26
# CHECK: vpadal.u32	q9, q8
0x40 0xef 0xb1 0x0a
# CHECK: vpmin.s8	d16, d16, d17
0x50 0xef 0xb1 0x0a
# CHECK: vpmin.s16	d16, d16, d17
0x60 0xef 0xb1 0x0a
# CHECK: vpmin.s32	d16, d16, d17
0x40 0xff 0xb1 0x0a
# CHECK: vpmin.u8	d16, d16, d17
0x50 0xff 0xb1 0x0a
# CHECK: vpmin.u16	d16, d16, d17
0x60 0xff 0xb1 0x0a
# CHECK: vpmin.u32	d16, d16, d17
0x60 0xff 0xa1 0x0f
# CHECK: vpmin.f32	d16, d16, d17
0x40 0xef 0xa1 0x0a
# CHECK: vpmax.s8	d16, d16, d17
0x50 0xef 0xa1 0x0a
# CHECK: vpmax.s16	d16, d16, d17
0x60 0xef 0xa1 0x0a
# CHECK: vpmax.s32	d16, d16, d17
0x40 0xff 0xa1 0x0a
# CHECK: vpmax.u8	d16, d16, d17
0x50 0xff 0xa1 0x0a
# CHECK: vpmax.u16	d16, d16, d17
0x60 0xff 0xa1 0x0a
# CHECK: vpmax.u32	d16, d16, d17
0x40 0xff 0xa1 0x0f
# CHECK: vpmax.f32	d16, d16, d17
0xfb 0xff 0x20 0x04
# CHECK: vrecpe.u32	d16, d16
0xfb 0xff 0x60 0x04
# CHECK: vrecpe.u32	q8, q8
0xfb 0xff 0x20 0x05
# CHECK: vrecpe.f32	d16, d16
0xfb 0xff 0x60 0x05
# CHECK: vrecpe.f32	q8, q8
0x40 0xef 0xb1 0x0f
# CHECK: vrecps.f32	d16, d16, d17
0x40 0xef 0xf2 0x0f
# CHECK: vrecps.f32	q8, q8, q9
0xfb 0xff 0xa0 0x04
# CHECK: vrsqrte.u32	d16, d16
0xfb 0xff 0xe0 0x04
# CHECK: vrsqrte.u32	q8, q8
0xfb 0xff 0xa0 0x05
# CHECK: vrsqrte.f32	d16, d16
0xfb 0xff 0xe0 0x05
# CHECK: vrsqrte.f32	q8, q8
0x60 0xef 0xb1 0x0f
# CHECK: vrsqrts.f32	d16, d16, d17
0x60 0xef 0xf2 0x0f
# CHECK: vrsqrts.f32	q8, q8, q9


0xf0 0xff 0x20 0x00
# CHECK: vrev64.8	d16, d16
0xf4 0xff 0x20 0x00
# CHECK: vrev64.16	d16, d16
0xf8 0xff 0x20 0x00
# CHECK: vrev64.32	d16, d16
0xf0 0xff 0x60 0x00
# CHECK: vrev64.8	q8, q8
0xf4 0xff 0x60 0x00
# CHECK: vrev64.16	q8, q8
0xf8 0xff 0x60 0x00
# CHECK: vrev64.32	q8, q8
0xf0 0xff 0xa0 0x00
# CHECK: vrev32.8	d16, d16
0xf4 0xff 0xa0 0x00
# CHECK: vrev32.16	d16, d16
0xf0 0xff 0xe0 0x00
# CHECK: vrev32.8	q8, q8
0xf4 0xff 0xe0 0x00
# CHECK: vrev32.16	q8, q8
0xf0 0xff 0x20 0x01
# CHECK: vrev16.8	d16, d16
0xf0 0xff 0x60 0x01
# CHECK: vrev16.8	q8, q8
0x41 0xef 0xb0 0x04
# CHECK: vqshl.s8	d16, d16, d17
0x51 0xef 0xb0 0x04
# CHECK: vqshl.s16	d16, d16, d17
0x61 0xef 0xb0 0x04
# CHECK: vqshl.s32	d16, d16, d17
0x71 0xef 0xb0 0x04
# CHECK: vqshl.s64	d16, d16, d17
0x41 0xff 0xb0 0x04
# CHECK: vqshl.u8	d16, d16, d17
0x51 0xff 0xb0 0x04
# CHECK: vqshl.u16	d16, d16, d17
0x61 0xff 0xb0 0x04
# CHECK: vqshl.u32	d16, d16, d17
0x71 0xff 0xb0 0x04
# CHECK: vqshl.u64	d16, d16, d17
0x42 0xef 0xf0 0x04
# CHECK: vqshl.s8	q8, q8, q9
0x52 0xef 0xf0 0x04
# CHECK: vqshl.s16	q8, q8, q9
0x62 0xef 0xf0 0x04
# CHECK: vqshl.s32	q8, q8, q9
0x72 0xef 0xf0 0x04
# CHECK: vqshl.s64	q8, q8, q9
0x42 0xff 0xf0 0x04
# CHECK: vqshl.u8	q8, q8, q9
0x52 0xff 0xf0 0x04
# CHECK: vqshl.u16	q8, q8, q9
0x62 0xff 0xf0 0x04
# CHECK: vqshl.u32	q8, q8, q9
0x72 0xff 0xf0 0x04
# CHECK: vqshl.u64	q8, q8, q9
0xcf 0xef 0x30 0x07
# CHECK: vqshl.s8	d16, d16, #7
0xdf 0xef 0x30 0x07
# CHECK: vqshl.s16	d16, d16, #15
0xff 0xef 0x30 0x07
# CHECK: vqshl.s32	d16, d16, #31
0xff 0xef 0xb0 0x07
# CHECK: vqshl.s64	d16, d16, #63
0xcf 0xff 0x30 0x07
# CHECK: vqshl.u8	d16, d16, #7
0xdf 0xff 0x30 0x07
# CHECK: vqshl.u16	d16, d16, #15
0xff 0xff 0x30 0x07
# CHECK: vqshl.u32	d16, d16, #31
0xff 0xff 0xb0 0x07
# CHECK: vqshl.u64	d16, d16, #63
0xcf 0xff 0x30 0x06
# CHECK: vqshlu.s8	d16, d16, #7
0xdf 0xff 0x30 0x06
# CHECK: vqshlu.s16	d16, d16, #15
0xff 0xff 0x30 0x06
# CHECK: vqshlu.s32	d16, d16, #31
0xff 0xff 0xb0 0x06
# CHECK: vqshlu.s64	d16, d16, #63
0xcf 0xef 0x70 0x07
# CHECK: vqshl.s8	q8, q8, #7
0xdf 0xef 0x70 0x07
# CHECK: vqshl.s16	q8, q8, #15
0xff 0xef 0x70 0x07
# CHECK: vqshl.s32	q8, q8, #31
0xff 0xef 0xf0 0x07
# CHECK: vqshl.s64	q8, q8, #63
0xcf 0xff 0x70 0x07
# CHECK: vqshl.u8	q8, q8, #7
0xdf 0xff 0x70 0x07
# CHECK: vqshl.u16	q8, q8, #15
0xff 0xff 0x70 0x07
# CHECK: vqshl.u32	q8, q8, #31
0xff 0xff 0xf0 0x07
# CHECK: vqshl.u64	q8, q8, #63
0xcf 0xff 0x70 0x06
# CHECK: vqshlu.s8	q8, q8, #7
0xdf 0xff 0x70 0x06
# CHECK: vqshlu.s16	q8, q8, #15
0xff 0xff 0x70 0x06
# CHECK: vqshlu.s32	q8, q8, #31
0xff 0xff 0xf0 0x06
# CHECK: vqshlu.s64	q8, q8, #63
0x41 0xef 0xb0 0x05
# CHECK: vqrshl.s8	d16, d16, d17
0x51 0xef 0xb0 0x05
# CHECK: vqrshl.s16	d16, d16, d17
0x61 0xef 0xb0 0x05
# CHECK: vqrshl.s32	d16, d16, d17
0x71 0xef 0xb0 0x05
# CHECK: vqrshl.s64	d16, d16, d17
0x41 0xff 0xb0 0x05
# CHECK: vqrshl.u8	d16, d16, d17
0x51 0xff 0xb0 0x05
# CHECK: vqrshl.u16	d16, d16, d17
0x61 0xff 0xb0 0x05
# CHECK: vqrshl.u32	d16, d16, d17
0x71 0xff 0xb0 0x05
# CHECK: vqrshl.u64	d16, d16, d17
0x42 0xef 0xf0 0x05
# CHECK: vqrshl.s8	q8, q8, q9
0x52 0xef 0xf0 0x05
# CHECK: vqrshl.s16	q8, q8, q9
0x62 0xef 0xf0 0x05
# CHECK: vqrshl.s32	q8, q8, q9
0x72 0xef 0xf0 0x05
# CHECK: vqrshl.s64	q8, q8, q9
0x42 0xff 0xf0 0x05
# CHECK: vqrshl.u8	q8, q8, q9
0x52 0xff 0xf0 0x05
# CHECK: vqrshl.u16	q8, q8, q9
0x62 0xff 0xf0 0x05
# CHECK: vqrshl.u32	q8, q8, q9
0x72 0xff 0xf0 0x05
# CHECK: vqrshl.u64	q8, q8, q9
0xc8 0xef 0x30 0x09
# CHECK: vqshrn.s16	d16, q8, #8
0xd0 0xef 0x30 0x09
# CHECK: vqshrn.s32	d16, q8, #16
0xe0 0xef 0x30 0x09
# CHECK: vqshrn.s64	d16, q8, #32
0xc8 0xff 0x30 0x09
# CHECK: vqshrn.u16	d16, q8, #8
0xd0 0xff 0x30 0x09
# CHECK: vqshrn.u32	d16, q8, #16
0xe0 0xff 0x30 0x09
# CHECK: vqshrn.u64	d16, q8, #32
0xc8 0xff 0x30 0x08
# CHECK: vqshrun.s16	d16, q8, #8
0xd0 0xff 0x30 0x08
# CHECK: vqshrun.s32	d16, q8, #16
0xe0 0xff 0x30 0x08
# CHECK: vqshrun.s64	d16, q8, #32
0xc8 0xef 0x70 0x09
# CHECK: vqrshrn.s16	d16, q8, #8
0xd0 0xef 0x70 0x09
# CHECK: vqrshrn.s32	d16, q8, #16
0xe0 0xef 0x70 0x09
# CHECK: vqrshrn.s64	d16, q8, #32
0xc8 0xff 0x70 0x09
# CHECK: vqrshrn.u16	d16, q8, #8
0xd0 0xff 0x70 0x09
# CHECK: vqrshrn.u32	d16, q8, #16
0xe0 0xff 0x70 0x09
# CHECK: vqrshrn.u64	d16, q8, #32
0xc8 0xff 0x70 0x08
# CHECK: vqrshrun.s16	d16, q8, #8
0xd0 0xff 0x70 0x08
# CHECK: vqrshrun.s32	d16, q8, #16
0xe0 0xff 0x70 0x08
# CHECK: vqrshrun.s64	d16, q8, #32
0x40 0xff 0xa1 0x04
# CHECK: vshl.u8	d16, d17, d16
0x50 0xff 0xa1 0x04
# CHECK: vshl.u16	d16, d17, d16
0x60 0xff 0xa1 0x04
# CHECK: vshl.u32	d16, d17, d16
0x70 0xff 0xa1 0x04
# CHECK: vshl.u64	d16, d17, d16
0xcf 0xef 0x30 0x05
# CHECK: vshl.i8	d16, d16, #7
0xdf 0xef 0x30 0x05
# CHECK: vshl.i16	d16, d16, #15
0xff 0xef 0x30 0x05
# CHECK: vshl.i32	d16, d16, #31
0xff 0xef 0xb0 0x05
# CHECK: vshl.i64	d16, d16, #63
0x40 0xff 0xe2 0x04
# CHECK: vshl.u8	q8, q9, q8
0x50 0xff 0xe2 0x04
# CHECK: vshl.u16	q8, q9, q8
0x60 0xff 0xe2 0x04
# CHECK: vshl.u32	q8, q9, q8
0x70 0xff 0xe2 0x04
# CHECK: vshl.u64	q8, q9, q8
0xcf 0xef 0x70 0x05
# CHECK: vshl.i8	q8, q8, #7
0xdf 0xef 0x70 0x05
# CHECK: vshl.i16	q8, q8, #15
0xff 0xef 0x70 0x05
# CHECK: vshl.i32	q8, q8, #31
0xff 0xef 0xf0 0x05
# CHECK: vshl.i64	q8, q8, #63
0xc8 0xff 0x30 0x00
# CHECK: vshr.u8	d16, d16, #8
0xd0 0xff 0x30 0x00
# CHECK: vshr.u16	d16, d16, #16
0xe0 0xff 0x30 0x00
# CHECK: vshr.u32	d16, d16, #32
0xc0 0xff 0xb0 0x00
# CHECK: vshr.u64	d16, d16, #64
0xc8 0xff 0x70 0x00
# CHECK: vshr.u8	q8, q8, #8
0xd0 0xff 0x70 0x00
# CHECK: vshr.u16	q8, q8, #16
0xe0 0xff 0x70 0x00
# CHECK: vshr.u32	q8, q8, #32
0xc0 0xff 0xf0 0x00
# CHECK: vshr.u64	q8, q8, #64
0xc8 0xef 0x30 0x00
# CHECK: vshr.s8	d16, d16, #8
0xd0 0xef 0x30 0x00
# CHECK: vshr.s16	d16, d16, #16
0xe0 0xef 0x30 0x00
# CHECK: vshr.s32	d16, d16, #32
0xc0 0xef 0xb0 0x00
# CHECK: vshr.s64	d16, d16, #64
0xc8 0xef 0x70 0x00
# CHECK: vshr.s8	q8, q8, #8
0xd0 0xef 0x70 0x00
# CHECK: vshr.s16	q8, q8, #16
0xe0 0xef 0x70 0x00
# CHECK: vshr.s32	q8, q8, #32
0xc0 0xef 0xf0 0x00
# CHECK: vshr.s64	q8, q8, #64
0xcf 0xef 0x30 0x0a
# CHECK: vshll.s8	q8, d16, #7
0xdf 0xef 0x30 0x0a
# CHECK: vshll.s16	q8, d16, #15
0xff 0xef 0x30 0x0a
# CHECK: vshll.s32	q8, d16, #31
0xcf 0xff 0x30 0x0a
# CHECK: vshll.u8	q8, d16, #7
0xdf 0xff 0x30 0x0a
# CHECK: vshll.u16	q8, d16, #15
0xff 0xff 0x30 0x0a
# CHECK: vshll.u32	q8, d16, #31
0xf2 0xff 0x20 0x03
# CHECK: vshll.i8	q8, d16, #8
0xf6 0xff 0x20 0x03
# CHECK: vshll.i16	q8, d16, #16
0xfa 0xff 0x20 0x03
# CHECK: vshll.i32	q8, d16, #32
0xc8 0xef 0x30 0x08
# CHECK: vshrn.i16	d16, q8, #8
0xd0 0xef 0x30 0x08
# CHECK: vshrn.i32	d16, q8, #16
0xe0 0xef 0x30 0x08
# CHECK: vshrn.i64	d16, q8, #32
0x40 0xef 0xa1 0x05
# CHECK: vrshl.s8	d16, d17, d16
0x50 0xef 0xa1 0x05
# CHECK: vrshl.s16	d16, d17, d16
0x60 0xef 0xa1 0x05
# CHECK: vrshl.s32	d16, d17, d16
0x70 0xef 0xa1 0x05
# CHECK: vrshl.s64	d16, d17, d16
0x40 0xff 0xa1 0x05
# CHECK: vrshl.u8	d16, d17, d16
0x50 0xff 0xa1 0x05
# CHECK: vrshl.u16	d16, d17, d16
0x60 0xff 0xa1 0x05
# CHECK: vrshl.u32	d16, d17, d16
0x70 0xff 0xa1 0x05
# CHECK: vrshl.u64	d16, d17, d16
0x40 0xef 0xe2 0x05
# CHECK: vrshl.s8	q8, q9, q8
0x50 0xef 0xe2 0x05
# CHECK: vrshl.s16	q8, q9, q8
0x60 0xef 0xe2 0x05
# CHECK: vrshl.s32	q8, q9, q8
0x70 0xef 0xe2 0x05
# CHECK: vrshl.s64	q8, q9, q8
0x40 0xff 0xe2 0x05
# CHECK: vrshl.u8	q8, q9, q8
0x50 0xff 0xe2 0x05
# CHECK: vrshl.u16	q8, q9, q8
0x60 0xff 0xe2 0x05
# CHECK: vrshl.u32	q8, q9, q8
0x70 0xff 0xe2 0x05
# CHECK: vrshl.u64	q8, q9, q8
0xc8 0xef 0x30 0x02
# CHECK: vrshr.s8	d16, d16, #8
0xd0 0xef 0x30 0x02
# CHECK: vrshr.s16	d16, d16, #16
0xe0 0xef 0x30 0x02
# CHECK: vrshr.s32	d16, d16, #32
0xc0 0xef 0xb0 0x02
# CHECK: vrshr.s64	d16, d16, #64
0xc8 0xff 0x30 0x02
# CHECK: vrshr.u8	d16, d16, #8
0xd0 0xff 0x30 0x02
# CHECK: vrshr.u16	d16, d16, #16
0xe0 0xff 0x30 0x02
# CHECK: vrshr.u32	d16, d16, #32
0xc0 0xff 0xb0 0x02
# CHECK: vrshr.u64	d16, d16, #64
0xc8 0xef 0x70 0x02
# CHECK: vrshr.s8	q8, q8, #8
0xd0 0xef 0x70 0x02
# CHECK: vrshr.s16	q8, q8, #16
0xe0 0xef 0x70 0x02
# CHECK: vrshr.s32	q8, q8, #32
0xc0 0xef 0xf0 0x02
# CHECK: vrshr.s64	q8, q8, #64
0xc8 0xff 0x70 0x02
# CHECK: vrshr.u8	q8, q8, #8
0xd0 0xff 0x70 0x02
# CHECK: vrshr.u16	q8, q8, #16
0xe0 0xff 0x70 0x02
# CHECK: vrshr.u32	q8, q8, #32
0xc0 0xff 0xf0 0x02
# CHECK: vrshr.u64	q8, q8, #64
0xc8 0xef 0x70 0x08
# CHECK: vrshrn.i16	d16, q8, #8
0xd0 0xef 0x70 0x08
# CHECK: vrshrn.i32	d16, q8, #16
0xe0 0xef 0x70 0x08
# CHECK: vrshrn.i64	d16, q8, #32
0xc8 0xef 0x30 0x11
# CHECK: vsra.s8	d17, d16, #8
0xd0 0xef 0x30 0x11
# CHECK: vsra.s16	d17, d16, #16
0xe0 0xef 0x30 0x11
# CHECK: vsra.s32	d17, d16, #32
0xc0 0xef 0xb0 0x11
# CHECK: vsra.s64	d17, d16, #64
0xc8 0xef 0x72 0x01
# CHECK: vsra.s8	q8, q9, #8
0xd0 0xef 0x72 0x01
# CHECK: vsra.s16	q8, q9, #16
0xe0 0xef 0x72 0x01
# CHECK: vsra.s32	q8, q9, #32
0xc0 0xef 0xf2 0x01
# CHECK: vsra.s64	q8, q9, #64
0xc8 0xff 0x30 0x11
# CHECK: vsra.u8	d17, d16, #8
0xd0 0xff 0x30 0x11
# CHECK: vsra.u16	d17, d16, #16
0xe0 0xff 0x30 0x11
# CHECK: vsra.u32	d17, d16, #32
0xc0 0xff 0xb0 0x11
# CHECK: vsra.u64	d17, d16, #64
0xc8 0xff 0x72 0x01
# CHECK: vsra.u8	q8, q9, #8
0xd0 0xff 0x72 0x01
# CHECK: vsra.u16	q8, q9, #16
0xe0 0xff 0x72 0x01
# CHECK: vsra.u32	q8, q9, #32
0xc0 0xff 0xf2 0x01
# CHECK: vsra.u64	q8, q9, #64
0xc8 0xef 0x30 0x13
# CHECK: vrsra.s8	d17, d16, #8
0xd0 0xef 0x30 0x13
# CHECK: vrsra.s16	d17, d16, #16
0xe0 0xef 0x30 0x13
# CHECK: vrsra.s32	d17, d16, #32
0xc0 0xef 0xb0 0x13
# CHECK: vrsra.s64	d17, d16, #64
0xc8 0xff 0x30 0x13
# CHECK: vrsra.u8	d17, d16, #8
0xd0 0xff 0x30 0x13
# CHECK: vrsra.u16	d17, d16, #16
0xe0 0xff 0x30 0x13
# CHECK: vrsra.u32	d17, d16, #32
0xc0 0xff 0xb0 0x13
# CHECK: vrsra.u64	d17, d16, #64
0xc8 0xef 0x72 0x03
# CHECK: vrsra.s8	q8, q9, #8
0xd0 0xef 0x72 0x03
# CHECK: vrsra.s16	q8, q9, #16
0xe0 0xef 0x72 0x03
# CHECK: vrsra.s32	q8, q9, #32
0xc0 0xef 0xf2 0x03
# CHECK: vrsra.s64	q8, q9, #64
0xc8 0xff 0x72 0x03
# CHECK: vrsra.u8	q8, q9, #8
0xd0 0xff 0x72 0x03
# CHECK: vrsra.u16	q8, q9, #16
0xe0 0xff 0x72 0x03
# CHECK: vrsra.u32	q8, q9, #32
0xc0 0xff 0xf2 0x03
# CHECK: vrsra.u64	q8, q9, #64
0xcf 0xff 0x30 0x15
# CHECK: vsli.8	d17, d16, #7
0xdf 0xff 0x30 0x15
# CHECK: vsli.16	d17, d16, #15
0xff 0xff 0x30 0x15
# CHECK: vsli.32	d17, d16, #31
0xff 0xff 0xb0 0x15
# CHECK: vsli.64	d17, d16, #63
0xcf 0xff 0x70 0x25
# CHECK: vsli.8	q9, q8, #7
0xdf 0xff 0x70 0x25
# CHECK: vsli.16	q9, q8, #15
0xff 0xff 0x70 0x25
# CHECK: vsli.32	q9, q8, #31
0xff 0xff 0xf0 0x25
# CHECK: vsli.64	q9, q8, #63
0xc8 0xff 0x30 0x14
# CHECK: vsri.8	d17, d16, #8
0xd0 0xff 0x30 0x14
# CHECK: vsri.16	d17, d16, #16
0xe0 0xff 0x30 0x14
# CHECK: vsri.32	d17, d16, #32
0xc0 0xff 0xb0 0x14
# CHECK: vsri.64	d17, d16, #64
0xc8 0xff 0x70 0x24
# CHECK: vsri.8	q9, q8, #8
0xd0 0xff 0x70 0x24
# CHECK: vsri.16	q9, q8, #16
0xe0 0xff 0x70 0x24
# CHECK: vsri.32	q9, q8, #32
0xc0 0xff 0xf0 0x24
# CHECK: vsri.64	q9, q8, #64
0xf1 0xef 0xa0 0x03
# CHECK: vext.8	d16, d17, d16, #3
0xf1 0xef 0xa0 0x05
# CHECK: vext.8	d16, d17, d16, #5
0xf2 0xef 0xe0 0x03
# CHECK: vext.8	q8, q9, q8, #3
0xf2 0xef 0xe0 0x07
# CHECK: vext.8	q8, q9, q8, #7
0xf1 0xef 0xa0 0x06
# CHECK: vext.16	d16, d17, d16, #3
0xf2 0xef 0xe0 0x0c
# CHECK: vext.32	q8, q9, q8, #3
0xf2 0xff 0xa0 0x10
# CHECK: vtrn.8	d17, d16
0xf6 0xff 0xa0 0x10
# CHECK: vtrn.16	d17, d16
0xfa 0xff 0xa0 0x10
# CHECK: vtrn.32	d17, d16
0xf2 0xff 0xe0 0x20
# CHECK: vtrn.8	q9, q8
0xf6 0xff 0xe0 0x20
# CHECK: vtrn.16	q9, q8
0xfa 0xff 0xe0 0x20
# CHECK: vtrn.32	q9, q8
0xf2 0xff 0x20 0x11
# CHECK: vuzp.8	d17, d16
0xf6 0xff 0x20 0x11
# CHECK: vuzp.16	d17, d16
0xf2 0xff 0x60 0x21
# CHECK: vuzp.8	q9, q8
0xf6 0xff 0x60 0x21
# CHECK: vuzp.16	q9, q8
0xfa 0xff 0x60 0x21
# CHECK: vuzp.32	q9, q8
0xf2 0xff 0xa0 0x11
# CHECK: vzip.8	d17, d16
0xf6 0xff 0xa0 0x11
# CHECK: vzip.16	d17, d16
0xf2 0xff 0xe0 0x21
# CHECK: vzip.8	q9, q8
0xf6 0xff 0xe0 0x21
# CHECK: vzip.16	q9, q8
0xfa 0xff 0xe0 0x21
# CHECK: vzip.32	q9, q8


0xf1 0xef 0xa0 0x03
# CHECK: vext.8	d16, d17, d16, #3
0xf1 0xef 0xa0 0x05
# CHECK: vext.8	d16, d17, d16, #5
0xf2 0xef 0xe0 0x03
# CHECK: vext.8	q8, q9, q8, #3
0xf2 0xef 0xe0 0x07
# CHECK: vext.8	q8, q9, q8, #7
0xf1 0xef 0xa0 0x06
# CHECK: vext.16	d16, d17, d16, #3
0xf2 0xef 0xe0 0x0c
# CHECK: vext.32	q8, q9, q8, #3
0xf2 0xff 0xa0 0x10
# CHECK: vtrn.8	d17, d16
0xf6 0xff 0xa0 0x10
# CHECK: vtrn.16	d17, d16
0xfa 0xff 0xa0 0x10
# CHECK: vtrn.32	d17, d16
0xf2 0xff 0xe0 0x20
# CHECK: vtrn.8	q9, q8
0xf6 0xff 0xe0 0x20
# CHECK: vtrn.16	q9, q8
0xfa 0xff 0xe0 0x20
# CHECK: vtrn.32	q9, q8
0xf2 0xff 0x20 0x11
# CHECK: vuzp.8	d17, d16
0xf6 0xff 0x20 0x11
# CHECK: vuzp.16	d17, d16
0xf2 0xff 0x60 0x21
# CHECK: vuzp.8	q9, q8
0xf6 0xff 0x60 0x21
# CHECK: vuzp.16	q9, q8
0xfa 0xff 0x60 0x21
# CHECK: vuzp.32	q9, q8
0xf2 0xff 0xa0 0x11
# CHECK: vzip.8	d17, d16
0xf6 0xff 0xa0 0x11
# CHECK: vzip.16	d17, d16
0xf2 0xff 0xe0 0x21
# CHECK: vzip.8	q9, q8
0xf6 0xff 0xe0 0x21
# CHECK: vzip.16	q9, q8
0xfa 0xff 0xe0 0x21
# CHECK: vzip.32	q9, q8

0xf1 0xff 0xa0 0x08
# CHECK: vtbl.8	d16, {d17}, d16
0xf0 0xff 0xa2 0x09
# CHECK: vtbl.8	d16, {d16, d17}, d18
0xf0 0xff 0xa4 0x0a
# CHECK: vtbl.8	d16, {d16, d17, d18}, d20
0xf0 0xff 0xa4 0x0b
# CHECK: vtbl.8	d16, {d16, d17, d18, d19}, d20
0xf0 0xff 0xe1 0x28
# CHECK: vtbx.8	d18, {d16}, d17
0xf0 0xff 0xe2 0x39
# CHECK: vtbx.8	d19, {d16, d17}, d18
0xf0 0xff 0xe5 0x4a
# CHECK: vtbx.8	d20, {d16, d17, d18}, d21
0xf0 0xff 0xe5 0x4b
# CHECK: vtbx.8	d20, {d16, d17, d18, d19}, d21

0x60 0xf9 0x1f 0x07
# CHECK: vld1.8	{d16}, [r0:64]
0x60 0xf9 0x4f 0x07
# CHECK: vld1.16	{d16}, [r0]
0x60 0xf9 0x8f 0x07
# CHECK: vld1.32	{d16}, [r0]
0x60 0xf9 0xcf 0x07
# CHECK: vld1.64	{d16}, [r0]
0x60 0xf9 0x1f 0x0a
# CHECK: vld1.8	{d16, d17}, [r0:64]
0x60 0xf9 0x6f 0x0a
# CHECK: vld1.16	{d16, d17}, [r0:128]
0x60 0xf9 0x8f 0x0a
# CHECK: vld1.32	{d16, d17}, [r0]
0x60 0xf9 0xcf 0x0a
# CHECK: vld1.64	{d16, d17}, [r0]

0x60 0xf9 0x1f 0x08
# CHECK: vld2.8	{d16, d17}, [r0:64]
0x60 0xf9 0x6f 0x08
# CHECK: vld2.16	{d16, d17}, [r0:128]
0x60 0xf9 0x8f 0x08
# CHECK: vld2.32	{d16, d17}, [r0]
0x60 0xf9 0x1f 0x03
# CHECK: vld2.8	{d16, d17, d18, d19}, [r0:64]
0x60 0xf9 0x6f 0x03
# CHECK: vld2.16	{d16, d17, d18, d19}, [r0:128]
0x60 0xf9 0xbf 0x03
# CHECK: vld2.32	{d16, d17, d18, d19}, [r0:256]

0x60 0xf9 0x1f 0x04
# CHECK: vld3.8	{d16, d17, d18}, [r0:64]
0x60 0xf9 0x4f 0x04
# CHECK: vld3.16	{d16, d17, d18}, [r0]
0x60 0xf9 0x8f 0x04
# CHECK: vld3.32	{d16, d17, d18}, [r0]
0x60 0xf9 0x1d 0x05
# CHECK: vld3.8	{d16, d18, d20}, [r0:64]!
0x60 0xf9 0x1d 0x15
# CHECK: vld3.8	{d17, d19, d21}, [r0:64]!
0x60 0xf9 0x4d 0x05
# CHECK: vld3.16	{d16, d18, d20}, [r0]!
0x60 0xf9 0x4d 0x15
# CHECK: vld3.16	{d17, d19, d21}, [r0]!
0x60 0xf9 0x8d 0x05
# CHECK: vld3.32	{d16, d18, d20}, [r0]!
0x60 0xf9 0x8d 0x15
# CHECK: vld3.32	{d17, d19, d21}, [r0]!

0x60 0xf9 0x1f 0x00
# CHECK: vld4.8	{d16, d17, d18, d19}, [r0:64]
0x60 0xf9 0x6f 0x00
# CHECK: vld4.16	{d16, d17, d18, d19}, [r0:128]
0x60 0xf9 0xbf 0x00
# CHECK: vld4.32	{d16, d17, d18, d19}, [r0:256]
0x60 0xf9 0x3d 0x01
# CHECK: vld4.8	{d16, d18, d20, d22}, [r0:256]!
0x60 0xf9 0x3d 0x11
# CHECK: vld4.8	{d17, d19, d21, d23}, [r0:256]!
0x60 0xf9 0x4d 0x01
# CHECK: vld4.16	{d16, d18, d20, d22}, [r0]!
0x60 0xf9 0x4d 0x11
# CHECK: vld4.16	{d17, d19, d21, d23}, [r0]!
0x60 0xf9 0x8d 0x01
# CHECK: vld4.32	{d16, d18, d20, d22}, [r0]!
0x60 0xf9 0x8d 0x11
# CHECK: vld4.32	{d17, d19, d21, d23}, [r0]!

0xe0 0xf9 0x6f 0x00
# CHECK: vld1.8	{d16[3]}, [r0]
0xe0 0xf9 0x9f 0x04
# CHECK: vld1.16	{d16[2]}, [r0:16]
0xe0 0xf9 0xbf 0x08
# CHECK: vld1.32	{d16[1]}, [r0:32]

0xe0 0xf9 0x3f 0x01
# CHECK: vld2.8	{d16[1], d17[1]}, [r0:16]
0xe0 0xf9 0x5f 0x05
# CHECK: vld2.16	{d16[1], d17[1]}, [r0:32]
0xe0 0xf9 0x8f 0x09
# CHECK: vld2.32	{d16[1], d17[1]}, [r0]
0xe0 0xf9 0x6f 0x15
# CHECK: vld2.16	{d17[1], d19[1]}, [r0]
0xe0 0xf9 0x5f 0x19
# CHECK: vld2.32	{d17[0], d19[0]}, [r0:64]

0xe0 0xf9 0x2f 0x02
# CHECK: vld3.8	{d16[1], d17[1], d18[1]}, [r0]
0xe0 0xf9 0x4f 0x06
# CHECK: vld3.16	{d16[1], d17[1], d18[1]}, [r0]
0xe0 0xf9 0x8f 0x0a
# CHECK: vld3.32	{d16[1], d17[1], d18[1]}, [r0]
0xe0 0xf9 0x6f 0x06
# CHECK: vld3.16	{d16[1], d18[1], d20[1]}, [r0]
0xe0 0xf9 0xcf 0x1a
# CHECK: vld3.32	{d17[1], d19[1], d21[1]}, [r0]

0xa4 0xf9 0x0f 0x0e
# CHECK: vld3.8	{d0[], d1[], d2[]}, [r4]
0xa4 0xf9 0x0d 0x0e
# CHECK: vld3.8	{d0[], d1[], d2[]}, [r4]!
0xa4 0xf9 0x25 0x0e
# CHECK: vld3.8	{d0[], d2[], d4[]}, [r4], r5
0xa4 0xf9 0x6f 0x0e
# CHECK: vld3.16	{d0[], d2[], d4[]}, [r4]
0xa4 0xf9 0x4d 0x0e
# CHECK: vld3.16	{d0[], d1[], d2[]}, [r4]!
0xa4 0xf9 0x65 0x0e
# CHECK: vld3.16	{d0[], d2[], d4[]}, [r4], r5
0xa4 0xf9 0x8f 0x0e
# CHECK: vld3.32	{d0[], d1[], d2[]}, [r4]
0xa4 0xf9 0x8d 0x0e
# CHECK: vld3.32	{d0[], d1[], d2[]}, [r4]!
0xa4 0xf9 0xa5 0x0e
# CHECK: vld3.32	{d0[], d2[], d4[]}, [r4], r5

0xe0 0xf9 0x3f 0x03
# CHECK: vld4.8	{d16[1], d17[1], d18[1], d19[1]}, [r0:32]
0xe0 0xf9 0x4f 0x07
# CHECK: vld4.16	{d16[1], d17[1], d18[1], d19[1]}, [r0]
0xe0 0xf9 0xaf 0x0b
# CHECK: vld4.32	{d16[1], d17[1], d18[1], d19[1]}, [r0:128]
0xe0 0xf9 0x7f 0x07
# CHECK: vld4.16	{d16[1], d18[1], d20[1], d22[1]}, [r0:64]
0xe0 0xf9 0x4f 0x1b
# CHECK: vld4.32	{d17[0], d19[0], d21[0], d23[0]}, [r0]

0xa4 0xf9 0x0f 0x0f
# CHECK: vld4.8	{d0[], d1[], d2[], d3[]}, [r4] 
0xa4 0xf9 0x3f 0x0f
# CHECK: vld4.8	{d0[], d2[], d4[], d6[]}, [r4:32] 
0xa4 0xf9 0x1d 0x0f
# CHECK: vld4.8	{d0[], d1[], d2[], d3[]}, [r4:32]! 
0xa4 0xf9 0x35 0x0f
# CHECK: vld4.8	{d0[], d2[], d4[], d6[]}, [r4:32], r5 
0xa4 0xf9 0x4f 0x0f
# CHECK: vld4.16	{d0[], d1[], d2[], d3[]}, [r4] 
0xa4 0xf9 0x7f 0x0f
# CHECK: vld4.16	{d0[], d2[], d4[], d6[]}, [r4:64] 
0xa4 0xf9 0x5d 0x0f
# CHECK: vld4.16	{d0[], d1[], d2[], d3[]}, [r4:64]! 
0xa4 0xf9 0x75 0x0f
# CHECK: vld4.16	{d0[], d2[], d4[], d6[]}, [r4:64], r5 
0xa4 0xf9 0x8f 0x0f
# CHECK: vld4.32	{d0[], d1[], d2[], d3[]}, [r4] 
0xa4 0xf9 0xbf 0x0f
# CHECK: vld4.32	{d0[], d2[], d4[], d6[]}, [r4:64] 
0xa4 0xf9 0xdd 0x0f
# CHECK: vld4.32	{d0[], d1[], d2[], d3[]}, [r4:128]! 
0xa4 0xf9 0xf5 0x0f
# CHECK: vld4.32	{d0[], d2[], d4[], d6[]}, [r4:128], r5 

0x40 0xf9 0x1f 0x07
# CHECK: vst1.8	{d16}, [r0:64]
0x40 0xf9 0x4f 0x07
# CHECK: vst1.16	{d16}, [r0]
0x40 0xf9 0x8f 0x07
# CHECK: vst1.32	{d16}, [r0]
0x40 0xf9 0xcf 0x07
# CHECK: vst1.64	{d16}, [r0]
0x40 0xf9 0x1f 0x0a
# CHECK: vst1.8	{d16, d17}, [r0:64]
0x40 0xf9 0x6f 0x0a
# CHECK: vst1.16	{d16, d17}, [r0:128]
0x40 0xf9 0x8f 0x0a
# CHECK: vst1.32	{d16, d17}, [r0]
0x40 0xf9 0xcf 0x0a
# CHECK: vst1.64	{d16, d17}, [r0]

0x40 0xf9 0x1f 0x08
# CHECK: vst2.8	{d16, d17}, [r0:64]
0x40 0xf9 0x6f 0x08
# CHECK: vst2.16	{d16, d17}, [r0:128]
0x40 0xf9 0x8f 0x08
# CHECK: vst2.32	{d16, d17}, [r0]
0x40 0xf9 0x1f 0x03
# CHECK: vst2.8	{d16, d17, d18, d19}, [r0:64]
0x40 0xf9 0x6f 0x03
# CHECK: vst2.16	{d16, d17, d18, d19}, [r0:128]
0x40 0xf9 0xbf 0x03
# CHECK: vst2.32	{d16, d17, d18, d19}, [r0:256]

0x40 0xf9 0x1f 0x04
# CHECK: vst3.8	{d16, d17, d18}, [r0:64]
0x40 0xf9 0x4f 0x04
# CHECK: vst3.16	{d16, d17, d18}, [r0]
0x40 0xf9 0x8f 0x04
# CHECK: vst3.32	{d16, d17, d18}, [r0]
0x40 0xf9 0x1d 0x05
# CHECK: vst3.8	{d16, d18, d20}, [r0:64]!
0x40 0xf9 0x1d 0x15
# CHECK: vst3.8	{d17, d19, d21}, [r0:64]!
0x40 0xf9 0x4d 0x05
# CHECK: vst3.16	{d16, d18, d20}, [r0]!
0x40 0xf9 0x4d 0x15
# CHECK: vst3.16	{d17, d19, d21}, [r0]!
0x40 0xf9 0x8d 0x05
# CHECK: vst3.32	{d16, d18, d20}, [r0]!
0x40 0xf9 0x8d 0x15
# CHECK: vst3.32	{d17, d19, d21}, [r0]!

0x40 0xf9 0x1f 0x00
# CHECK: vst4.8	{d16, d17, d18, d19}, [r0:64]
0x40 0xf9 0x6f 0x00
# CHECK: vst4.16	{d16, d17, d18, d19}, [r0:128]
0x40 0xf9 0x3d 0x01
# CHECK: vst4.8	{d16, d18, d20, d22}, [r0:256]!
0x40 0xf9 0x3d 0x11
# CHECK: vst4.8	{d17, d19, d21, d23}, [r0:256]!
0x40 0xf9 0x4d 0x01
# CHECK: vst4.16	{d16, d18, d20, d22}, [r0]!
0x40 0xf9 0x4d 0x11
# CHECK: vst4.16	{d17, d19, d21, d23}, [r0]!
0x40 0xf9 0x8d 0x01
# CHECK: vst4.32	{d16, d18, d20, d22}, [r0]!
0x40 0xf9 0x8d 0x11
# CHECK: vst4.32	{d17, d19, d21, d23}, [r0]!

0xc0 0xf9 0x3f 0x01
# CHECK: vst2.8	{d16[1], d17[1]}, [r0:16]
0xc0 0xf9 0x5f 0x05
# CHECK: vst2.16	{d16[1], d17[1]}, [r0:32]
0xc0 0xf9 0x8f 0x09
# CHECK: vst2.32	{d16[1], d17[1]}, [r0]
0xc0 0xf9 0x6f 0x15
# CHECK: vst2.16	{d17[1], d19[1]}, [r0]
0xc0 0xf9 0x5f 0x19
# CHECK: vst2.32	{d17[0], d19[0]}, [r0:64]

0xc0 0xf9 0x2f 0x02
# CHECK: vst3.8	{d16[1], d17[1], d18[1]}, [r0]
0xc0 0xf9 0x4f 0x06
# CHECK: vst3.16	{d16[1], d17[1], d18[1]}, [r0]
0xc0 0xf9 0x8f 0x0a
# CHECK: vst3.32	{d16[1], d17[1], d18[1]}, [r0]
0xc0 0xf9 0xaf 0x16
# CHECK: vst3.16	{d17[2], d19[2], d21[2]}, [r0]
0xc0 0xf9 0x4f 0x0a
# CHECK: vst3.32	{d16[0], d18[0], d20[0]}, [r0]

0xc0 0xf9 0x3f 0x03
# CHECK: vst4.8	{d16[1], d17[1], d18[1], d19[1]}, [r0:32]
0xc0 0xf9 0x4f 0x07
# CHECK: vst4.16	{d16[1], d17[1], d18[1], d19[1]}, [r0]
0xc0 0xf9 0xaf 0x0b
# CHECK: vst4.32	{d16[1], d17[1], d18[1], d19[1]}, [r0:128]
0xc0 0xf9 0xff 0x17
# CHECK: vst4.16	{d17[3], d19[3], d21[3], d23[3]}, [r0:64]
0xc0 0xf9 0x4f 0x1b
# CHECK: vst4.32	{d17[0], d19[0], d21[0], d23[0]}, [r0]

# rdar://10798451
0xe7 0xf9 0x32 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16], r2
0xe7 0xf9 0x3d 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16]!
0xe7 0xf9 0x3f 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16]

# rdar://11034702
0x04 0xf9 0x0d 0x87
# CHECK: vst1.8	{d8}, [r4]!             
0x04 0xf9 0x4d 0x87
# CHECK: vst1.16	{d8}, [r4]!             
0x04 0xf9 0x8d 0x87
# CHECK: vst1.32	{d8}, [r4]!             
0x04 0xf9 0xcd 0x87
# CHECK: vst1.64	{d8}, [r4]!             
0x04 0xf9 0x06 0x87
# CHECK: vst1.8	{d8}, [r4], r6          
0x04 0xf9 0x46 0x87
# CHECK: vst1.16	{d8}, [r4], r6          
0x04 0xf9 0x86 0x87
# CHECK: vst1.32	{d8}, [r4], r6          
0x04 0xf9 0xc6 0x87
# CHECK: vst1.64	{d8}, [r4], r6          

0x04 0xf9 0x0d 0x8a
# CHECK: vst1.8	{d8, d9}, [r4]!         
0x04 0xf9 0x4d 0x8a
# CHECK: vst1.16	{d8, d9}, [r4]!         
0x04 0xf9 0x8d 0x8a
# CHECK: vst1.32	{d8, d9}, [r4]!         
0x04 0xf9 0xcd 0x8a
# CHECK: vst1.64	{d8, d9}, [r4]!         
0x04 0xf9 0x06 0x8a
# CHECK: vst1.8	{d8, d9}, [r4], r6      
0x04 0xf9 0x46 0x8a
# CHECK: vst1.16	{d8, d9}, [r4], r6      
0x04 0xf9 0x86 0x8a
# CHECK: vst1.32	{d8, d9}, [r4], r6      
0x04 0xf9 0xc6 0x8a
# CHECK: vst1.64	{d8, d9}, [r4], r6      

0x04 0xf9 0x0d 0x86
# CHECK: vst1.8	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x4d 0x86
# CHECK: vst1.16	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x8d 0x86
# CHECK: vst1.32	{d8, d9, d10}, [r4]!    
0x04 0xf9 0xcd 0x86
# CHECK: vst1.64	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x06 0x86
# CHECK: vst1.8	{d8, d9, d10}, [r4], r6 
0x04 0xf9 0x46 0x86
# CHECK: vst1.16	{d8, d9, d10}, [r4], r6 
0x04 0xf9 0x86 0x86
# CHECK: vst1.32	{d8, d9, d10}, [r4], r6 
0x04 0xf9 0xc6 0x86
# CHECK: vst1.64	{d8, d9, d10}, [r4], r6 

0x04 0xf9 0x0d 0x82
# CHECK: vst1.8	{d8, d9, d10, d11}, [r4]! 
0x04 0xf9 0x4d 0x82
# CHECK: vst1.16	{d8, d9, d10, d11}, [r4]! 
0x04 0xf9 0x8d 0x82
# CHECK: vst1.32	{d8, d9, d10, d11}, [r4]! 
0x04 0xf9 0xcd 0x82
# CHECK: vst1.64	{d8, d9, d10, d11}, [r4]! 
0x04 0xf9 0x06 0x82
# CHECK: vst1.8	{d8, d9, d10, d11}, [r4], r6 
0x04 0xf9 0x46 0x82
# CHECK: vst1.16	{d8, d9, d10, d11}, [r4], r6 
0x04 0xf9 0x86 0x82
# CHECK: vst1.32	{d8, d9, d10, d11}, [r4], r6 
0x04 0xf9 0xc6 0x82
# CHECK: vst1.64	{d8, d9, d10, d11}, [r4], r6 

0x04 0xf9 0x0d 0x88
# CHECK: vst2.8	{d8, d9}, [r4]!         
0x04 0xf9 0x4d 0x88
# CHECK: vst2.16	{d8, d9}, [r4]!         
0x04 0xf9 0x8d 0x88
# CHECK: vst2.32	{d8, d9}, [r4]!         
0x04 0xf9 0x06 0x88
# CHECK: vst2.8	{d8, d9}, [r4], r6      
0x04 0xf9 0x46 0x88
# CHECK: vst2.16	{d8, d9}, [r4], r6      
0x04 0xf9 0x86 0x88
# CHECK: vst2.32	{d8, d9}, [r4], r6      

0x04 0xf9 0x0d 0x89
# CHECK: vst2.8	{d8, d10}, [r4]!        
0x04 0xf9 0x4d 0x89
# CHECK: vst2.16	{d8, d10}, [r4]!        
0x04 0xf9 0x8d 0x89
# CHECK: vst2.32	{d8, d10}, [r4]!        
0x04 0xf9 0x06 0x89
# CHECK: vst2.8	{d8, d10}, [r4], r6     
0x04 0xf9 0x46 0x89
# CHECK: vst2.16	{d8, d10}, [r4], r6     
0x04 0xf9 0x86 0x89
# CHECK: vst2.32	{d8, d10}, [r4], r6     

0x04 0xf9 0x0d 0x84
# CHECK: vst3.8	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x4d 0x84
# CHECK: vst3.16	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x8d 0x84
# CHECK: vst3.32	{d8, d9, d10}, [r4]!    
0x04 0xf9 0x06 0x85
# CHECK: vst3.8	{d8, d10, d12}, [r4], r6 
0x04 0xf9 0x46 0x85
# CHECK: vst3.16	{d8, d10, d12}, [r4], r6 
0x04 0xf9 0x86 0x85
# CHECK: vst3.32	{d8, d10, d12}, [r4], r6 

0x04 0xf9 0x0d 0x80
# CHECK: vst4.8	{d8, d9, d10, d11}, [r4]!
0x04 0xf9 0x4d 0x80
# CHECK: vst4.16	{d8, d9, d10, d11}, [r4]!
0x04 0xf9 0x8d 0x80
# CHECK: vst4.32	{d8, d9, d10, d11}, [r4]!
0x04 0xf9 0x06 0x81
# CHECK: vst4.8	{d8, d10, d12, d14}, [r4], r6
0x04 0xf9 0x46 0x81
# CHECK: vst4.16	{d8, d10, d12, d14}, [r4], r6
0x04 0xf9 0x86 0x81
# CHECK: vst4.32	{d8, d10, d12, d14}, [r4], r6

0x04 0xf9 0x4f 0x8a
# CHECK: vst1.16	{d8, d9}, [r4]          
0x04 0xf9 0x8f 0x8a
# CHECK: vst1.32	{d8, d9}, [r4]          
0x04 0xf9 0xcf 0x8a
# CHECK: vst1.64	{d8, d9}, [r4]          
0x04 0xf9 0x0f 0x8a
# CHECK: vst1.8	{d8, d9}, [r4]          
0x04 0xf9 0x4f 0x88
# CHECK: vst2.16	{d8, d9}, [r4]          
0x04 0xf9 0x8f 0x88
# CHECK: vst2.32	{d8, d9}, [r4]          
0x04 0xf9 0x0f 0x88
# CHECK: vst2.8	{d8, d9}, [r4]          
0x04 0xf9 0x4d 0x88
# CHECK: vst2.16	{d8, d9}, [r4]!         
0x04 0xf9 0x46 0x88
# CHECK: vst2.16	{d8, d9}, [r4], r6      
0x04 0xf9 0x8d 0x88
# CHECK: vst2.32	{d8, d9}, [r4]!         
0x04 0xf9 0x86 0x88
# CHECK: vst2.32	{d8, d9}, [r4], r6      
0x04 0xf9 0x0d 0x88
# CHECK: vst2.8	{d8, d9}, [r4]!         
0x04 0xf9 0x06 0x88
# CHECK: vst2.8	{d8, d9}, [r4], r6      

0x04 0xf9 0x4f 0x89
# CHECK: vst2.16	{d8, d10}, [r4]        
0x04 0xf9 0x8f 0x89
# CHECK: vst2.32	{d8, d10}, [r4]        
0x04 0xf9 0x0f 0x89
# CHECK: vst2.8	{d8, d10}, [r4]        

0x04 0xf9 0x0f 0x84
# CHECK: vst3.8	{d8, d9, d10}, [r4]    
0x04 0xf9 0x4f 0x84
# CHECK: vst3.16	{d8, d9, d10}, [r4]    
0x04 0xf9 0x8f 0x84
# CHECK: vst3.32	{d8, d9, d10}, [r4]    

0x04 0xf9 0x0f 0x80
# CHECK: vst4.8	{d8, d9, d10, d11}, [r4]
0x04 0xf9 0x4f 0x80
# CHECK: vst4.16	{d8, d9, d10, d11}, [r4]
0x04 0xf9 0x8f 0x80
# CHECK: vst4.32	{d8, d9, d10, d11}, [r4]

0x04 0xf9 0x0f 0x85
# CHECK: vst3.8	{d8, d10, d12}, [r4]   
0x04 0xf9 0x4f 0x85
# CHECK: vst3.16	{d8, d10, d12}, [r4]   
0x04 0xf9 0x8f 0x85
# CHECK: vst3.32	{d8, d10, d12}, [r4]   

0x04 0xf9 0x0f 0x81
# CHECK: vst4.8	{d8, d10, d12, d14}, [r4]
0x04 0xf9 0x4f 0x81
# CHECK: vst4.16	{d8, d10, d12, d14}, [r4]
0x04 0xf9 0x8f 0x81
# CHECK: vst4.32	{d8, d10, d12, d14}, [r4]

# rdar://11204059
0x24 0xf9 0x0d 0x87
# CHECK: vld1.8	{d8}, [r4]!             
0x24 0xf9 0x4d 0x87
# CHECK: vld1.16	{d8}, [r4]!             
0x24 0xf9 0x8d 0x87
# CHECK: vld1.32	{d8}, [r4]!             
0x24 0xf9 0xcd 0x87
# CHECK: vld1.64	{d8}, [r4]!             
0x24 0xf9 0x06 0x87
# CHECK: vld1.8	{d8}, [r4], r6          
0x24 0xf9 0x46 0x87
# CHECK: vld1.16	{d8}, [r4], r6          
0x24 0xf9 0x86 0x87
# CHECK: vld1.32	{d8}, [r4], r6          
0x24 0xf9 0xc6 0x87
# CHECK: vld1.64	{d8}, [r4], r6          
0x24 0xf9 0x0d 0x8a
# CHECK: vld1.8	{d8, d9}, [r4]!         
0x24 0xf9 0x4d 0x8a
# CHECK: vld1.16	{d8, d9}, [r4]!         
0x24 0xf9 0x8d 0x8a
# CHECK: vld1.32	{d8, d9}, [r4]!         
0x24 0xf9 0xcd 0x8a
# CHECK: vld1.64	{d8, d9}, [r4]!         
0x24 0xf9 0x06 0x8a
# CHECK: vld1.8	{d8, d9}, [r4], r6      
0x24 0xf9 0x46 0x8a
# CHECK: vld1.16	{d8, d9}, [r4], r6      
0x24 0xf9 0x86 0x8a
# CHECK: vld1.32	{d8, d9}, [r4], r6      
0x24 0xf9 0xc6 0x8a
# CHECK: vld1.64	{d8, d9}, [r4], r6      
0x24 0xf9 0x0d 0x86
# CHECK: vld1.8	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x4d 0x86
# CHECK: vld1.16	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x8d 0x86
# CHECK: vld1.32	{d8, d9, d10}, [r4]!    
0x24 0xf9 0xcd 0x86
# CHECK: vld1.64	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x06 0x86
# CHECK: vld1.8	{d8, d9, d10}, [r4], r6 
0x24 0xf9 0x46 0x86
# CHECK: vld1.16	{d8, d9, d10}, [r4], r6 
0x24 0xf9 0x86 0x86
# CHECK: vld1.32	{d8, d9, d10}, [r4], r6 
0x24 0xf9 0xc6 0x86
# CHECK: vld1.64	{d8, d9, d10}, [r4], r6 
0x24 0xf9 0x0d 0x82
# CHECK: vld1.8	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x4d 0x82
# CHECK: vld1.16	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x8d 0x82
# CHECK: vld1.32	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0xcd 0x82
# CHECK: vld1.64	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x06 0x82
# CHECK: vld1.8	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x46 0x82
# CHECK: vld1.16	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x86 0x82
# CHECK: vld1.32	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0xc6 0x82
# CHECK: vld1.64	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x0d 0x88
# CHECK: vld2.8	{d8, d9}, [r4]!         
0x24 0xf9 0x4d 0x88
# CHECK: vld2.16	{d8, d9}, [r4]!         
0x24 0xf9 0x8d 0x88
# CHECK: vld2.32	{d8, d9}, [r4]!         
0x24 0xf9 0x06 0x88
# CHECK: vld2.8	{d8, d9}, [r4], r6      
0x24 0xf9 0x46 0x88
# CHECK: vld2.16	{d8, d9}, [r4], r6      
0x24 0xf9 0x86 0x88
# CHECK: vld2.32	{d8, d9}, [r4], r6      
0x24 0xf9 0x0d 0x89
# CHECK: vld2.8	{d8, d10}, [r4]!        
0x24 0xf9 0x4d 0x89
# CHECK: vld2.16	{d8, d10}, [r4]!        
0x24 0xf9 0x8d 0x89
# CHECK: vld2.32	{d8, d10}, [r4]!        
0x24 0xf9 0x06 0x89
# CHECK: vld2.8	{d8, d10}, [r4], r6     
0x24 0xf9 0x46 0x89
# CHECK: vld2.16	{d8, d10}, [r4], r6     
0x24 0xf9 0x86 0x89
# CHECK: vld2.32	{d8, d10}, [r4], r6     
0x24 0xf9 0x0d 0x84
# CHECK: vld3.8	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x4d 0x84
# CHECK: vld3.16	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x8d 0x84
# CHECK: vld3.32	{d8, d9, d10}, [r4]!    
0x24 0xf9 0x06 0x85
# CHECK: vld3.8	{d8, d10, d12}, [r4], r6 
0x24 0xf9 0x46 0x85
# CHECK: vld3.16	{d8, d10, d12}, [r4], r6 
0x24 0xf9 0x86 0x85
# CHECK: vld3.32	{d8, d10, d12}, [r4], r6 
0x24 0xf9 0x0d 0x80
# CHECK: vld4.8	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x4d 0x80
# CHECK: vld4.16	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x8d 0x80
# CHECK: vld4.32	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x06 0x81
# CHECK: vld4.8	{d8, d10, d12, d14}, [r4], r6 
0x24 0xf9 0x46 0x81
# CHECK: vld4.16	{d8, d10, d12, d14}, [r4], r6 
0x24 0xf9 0x86 0x81
# CHECK: vld4.32	{d8, d10, d12, d14}, [r4], r6 
0x24 0xf9 0x4f 0x8a
# CHECK: vld1.16	{d8, d9}, [r4]          
0x24 0xf9 0x8f 0x8a
# CHECK: vld1.32	{d8, d9}, [r4]          
0x24 0xf9 0xcf 0x8a
# CHECK: vld1.64	{d8, d9}, [r4]          
0x24 0xf9 0x0f 0x8a
# CHECK: vld1.8	{d8, d9}, [r4]          
0x24 0xf9 0x4f 0x88
# CHECK: vld2.16	{d8, d9}, [r4]          
0x24 0xf9 0x8f 0x88
# CHECK: vld2.32	{d8, d9}, [r4]          
0x24 0xf9 0x0f 0x88
# CHECK: vld2.8	{d8, d9}, [r4]          
0x24 0xf9 0x4d 0x88
# CHECK: vld2.16	{d8, d9}, [r4]!         
0x24 0xf9 0x46 0x88
# CHECK: vld2.16	{d8, d9}, [r4], r6      
0x24 0xf9 0x8d 0x88
# CHECK: vld2.32	{d8, d9}, [r4]!         
0x24 0xf9 0x86 0x88
# CHECK: vld2.32	{d8, d9}, [r4], r6      
0x24 0xf9 0x0d 0x88
# CHECK: vld2.8	{d8, d9}, [r4]!         
0x24 0xf9 0x06 0x88
# CHECK: vld2.8	{d8, d9}, [r4], r6      
0x24 0xf9 0x4f 0x89
# CHECK: vld2.16	{d8, d10}, [r4]         
0x24 0xf9 0x8f 0x89
# CHECK: vld2.32	{d8, d10}, [r4]         
0x24 0xf9 0x0f 0x89
# CHECK: vld2.8	{d8, d10}, [r4]         
0x24 0xf9 0x4d 0x83
# CHECK: vld2.16	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x46 0x83
# CHECK: vld2.16	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x8d 0x83
# CHECK: vld2.32	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x86 0x83
# CHECK: vld2.32	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x0d 0x83
# CHECK: vld2.8	{d8, d9, d10, d11}, [r4]! 
0x24 0xf9 0x06 0x83
# CHECK: vld2.8	{d8, d9, d10, d11}, [r4], r6 
0x24 0xf9 0x0f 0x84
# CHECK: vld3.8	{d8, d9, d10}, [r4]     
0x24 0xf9 0x4f 0x84
# CHECK: vld3.16	{d8, d9, d10}, [r4]     
0x24 0xf9 0x8f 0x84
# CHECK: vld3.32	{d8, d9, d10}, [r4]     
0x24 0xf9 0x0f 0x80
# CHECK: vld4.8	{d8, d9, d10, d11}, [r4] 
0x24 0xf9 0x4f 0x80
# CHECK: vld4.16	{d8, d9, d10, d11}, [r4] 
0x24 0xf9 0x8f 0x80
# CHECK: vld4.32	{d8, d9, d10, d11}, [r4] 
0x24 0xf9 0x0f 0x85
# CHECK: vld3.8	{d8, d10, d12}, [r4]    
0x24 0xf9 0x4f 0x85
# CHECK: vld3.16	{d8, d10, d12}, [r4]    
0x24 0xf9 0x8f 0x85
# CHECK: vld3.32	{d8, d10, d12}, [r4]    
0x24 0xf9 0x0f 0x81
# CHECK: vld4.8	{d8, d10, d12, d14}, [r4] 
0x24 0xf9 0x4f 0x81
# CHECK: vld4.16	{d8, d10, d12, d14}, [r4] 
0x24 0xf9 0x8f 0x81
# CHECK: vld4.32	{d8, d10, d12, d14}, [r4] 

# rdar://11256967
0xa2 0xf9 0x0f 0x0d
# CHECK: vld2.8	{d0[], d1[]}, [r2]      
0xa2 0xf9 0x4f 0x0d
# CHECK: vld2.16	{d0[], d1[]}, [r2]      
0xa2 0xf9 0x8f 0x0d
# CHECK: vld2.32	{d0[], d1[]}, [r2]      
0xa2 0xf9 0x0d 0x0d
# CHECK: vld2.8	{d0[], d1[]}, [r2]!     
0xa2 0xf9 0x4d 0x0d
# CHECK: vld2.16	{d0[], d1[]}, [r2]!     
0xa2 0xf9 0x8d 0x0d
# CHECK: vld2.32	{d0[], d1[]}, [r2]!     
0xa2 0xf9 0x03 0x0d
# CHECK: vld2.8	{d0[], d1[]}, [r2], r3  
0xa2 0xf9 0x43 0x0d
# CHECK: vld2.16	{d0[], d1[]}, [r2], r3  
0xa2 0xf9 0x83 0x0d
# CHECK: vld2.32	{d0[], d1[]}, [r2], r3  
0xa3 0xf9 0x2f 0x0d
# CHECK: vld2.8	{d0[], d2[]}, [r3]      
0xa3 0xf9 0x6f 0x0d
# CHECK: vld2.16	{d0[], d2[]}, [r3]      
0xa3 0xf9 0xaf 0x0d
# CHECK: vld2.32	{d0[], d2[]}, [r3]      
0xa3 0xf9 0x2d 0x0d
# CHECK: vld2.8	{d0[], d2[]}, [r3]!     
0xa3 0xf9 0x6d 0x0d
# CHECK: vld2.16	{d0[], d2[]}, [r3]!     
0xa3 0xf9 0xad 0x0d
# CHECK: vld2.32	{d0[], d2[]}, [r3]!     
0xa3 0xf9 0x24 0x0d
# CHECK: vld2.8	{d0[], d2[]}, [r3], r4  
0xa3 0xf9 0x64 0x0d
# CHECK: vld2.16	{d0[], d2[]}, [r3], r4  
0xa3 0xf9 0xa4 0x0d
# CHECK: vld2.32	{d0[], d2[]}, [r3], r4  


# rdar://10798451
0xe7 0xf9 0x32 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16], r2
0xe7 0xf9 0x3d 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16]!
0xe7 0xf9 0x3f 0x1d
# CHECK: vld2.8	{d17[], d19[]}, [r7:16]

